home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / smtp_helo.nasl < prev    next >
Text File  |  2005-01-14  |  4KB  |  140 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10260);
  10.  script_version ("$Revision: 1.28 $");
  11.  script_cve_id("CAN-1999-0098");
  12.  name["english"] = "HELO overflow";
  13.  name["francais"] = "DΘpassement de HELO";
  14.  script_name(english:name["english"],
  15.           francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. The remote SMTP server seems to allow remote users to
  19. send mail anonymously by providing arguments that are 
  20. too long to the HELO command (more than 1024 chars).
  21.  
  22. This problem may allow malicious users to send hate
  23. mail or threatening mail using your server,
  24. and keep their anonymity.
  25.  
  26. Risk factor : Low
  27.  
  28. Solution : If you are using sendmail, upgrade to
  29. version 8.9.x or newer. If you do not run sendmail, contact
  30. your vendor.";
  31.  
  32.  
  33.  desc["francais"] = "
  34. Le serveur SMTP distant semble permettre α n'importe qui
  35. d'envoyer des mails de maniere anonyme en donnant un
  36. argument trop long α la commande HELO (plus de 1024
  37. caractΦres).
  38.  
  39. Ce problΦme peut permettre α des personnes mal intentionnΘes
  40. d'envoyer des messages agressifs ou menacant en utilisant
  41. votre serveur de mail, et en gardant leur anonymat.
  42.  
  43. Facteur de risque : Faible.
  44.  
  45. Solution : Si vous utilisez sendmail, mettez le α jour
  46. en version 8.9.x. Si vous n'utilisez pas sendmail,
  47. contactez votre vendeur.";
  48.  
  49.  
  50.  script_description(english:desc["english"],
  51.               francais:desc["francais"]);
  52.             
  53.  
  54.  summary["english"] = "Checks if the remote mail server can be used to send anonymous mail"; 
  55.  summary["francais"] = "VΘrifie si le serveur de mail distant peut etre utilisΘ pour envoyer du mail anonyme";
  56.  script_summary(english:summary["english"],
  57.           francais:summary["francais"]);
  58.  
  59.  script_category(ACT_MIXED_ATTACK);
  60.  
  61.  script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison",
  62.            francais:"Ce script est Copyright (C) 1999 Renaud Deraison");
  63.  
  64.  family["english"] = "SMTP problems";
  65.  family["francais"] = "ProblΦmes SMTP";
  66.  script_family(english:family["english"], francais:family["francais"]);
  67.  script_dependencie("find_service.nes", "sendmail_expn.nasl", "smtpserver_detect.nasl", "smtpscan.nasl");
  68.  script_exclude_keys("SMTP/wrapped", 
  69.               "SMTP/qmail", 
  70.              "SMTP/microsoft_esmtp_5",
  71.              "SMTP/postfix",
  72.              "SMTP/domino");
  73.              
  74.  script_require_keys("SMTP/sendmail");
  75.  script_require_ports("Services/smtp", 25);
  76.  exit(0);
  77. }
  78.  
  79. #
  80. # The script code starts here
  81. #
  82.  
  83. include("smtp_func.inc");
  84.  
  85. port = get_kb_item("Services/smtp");
  86. if(!port)port = 25;
  87.  
  88. sig = get_kb_item(string("smtp/", port, "/real_banner"));
  89. if ( sig && "Sendmail" >!< sig ) exit(0);
  90.  
  91.  
  92. if(safe_checks())
  93. {
  94.  banner = get_smtp_banner(port:port);
  95.   
  96.   if("Sendmail" >< banner)
  97.   {
  98.    version = ereg_replace(string:banner,
  99.                          pattern:".* Sendmail (.*)/.*",
  100.                          replace:"\1");
  101.   
  102.   if(ereg(string:version, pattern:"((^[0-7]\..*)|(^8\.[0-8]\..*))"))
  103.   {
  104.    alrt = 
  105. "You are running a version of Sendmail which is older
  106. than version 8.9.0.
  107.  
  108. There's a flaw in this version which allows people to send
  109. mail anonymously through this server (their IP won't be shown
  110. to the recipient), through a buffer overflow in the HELO
  111. command.
  112.  
  113. *** Nessus reports this vulnerability using only
  114. *** information that was gathered. Use caution
  115. *** when testing without safe checks enabled.
  116.  
  117. Solution : upgrade to sendmail 8.9.0 or newer
  118. Risk factor : Low";
  119.  
  120.    security_warning(port:port, data:alrt);
  121.    }
  122.  } 
  123.  exit(0);
  124. }
  125.  
  126.  
  127. if(get_port_state(port))
  128. {
  129.  soc = open_sock_tcp(port);
  130.  if(soc)
  131.  {
  132.  data = smtp_recv_banner(socket:soc);
  133.  crp = string("HELO ", crap(1030), "\r\n");
  134.  send(socket:soc, data:crp);
  135.  data = recv_line(socket:soc, length:4);
  136.  if(data == "250 ")security_warning(port);
  137.  close(soc);
  138.  }
  139. }
  140.